Modern communication and data networks comprise network nodes, such as routers, switches, bridges, and other devices that transport data through the network. Over the years, the telecommunication industry has made significant improvements to the network nodes to support an increasing number of protocols and specifications standardized by the Internet Engineering Task Force (IETF). Creating and coupling the complex network nodes to form networks that support and implement the various IETF standards (e.g. virtual private networks requirements) has inadvertently cause modern networks to become labyrinth-like and difficult to manage. As a result, vendors and third-party operators continually struggle to customize, optimize, and improve the performance of the interwoven web of network nodes.
Software defined networking (SDN) is an emerging network technology that addresses customization and optimization concerns within convoluted networks. SDN simplifies modern networks by decoupling the data-forwarding capability (e.g. the data plane) from routing, resource, and other management functionality (e.g. the control plane) previously performed in the network nodes. Network nodes that support SDN (e.g., that are SDN compliant) may be configured to implement the data plane functions, while the control plane functions may be provided by a SDN controller. Open Application Programming Interface (API) services, such as the OpenFlow protocol, may manage the interactions between the data plane and control plane and allow for the implementation of non-vendor specific combinations of networking nodes and SDN controllers within a network. As a result, SDN in conjunction with an Open API service may provide numerous benefits to modern networks that include increased network virtualization, flexible control and utilization of the network, and customization of networks for scenarios with specific requirements.
Modern networks, such as data center networks, enterprise networks, and carrier networks, may gradually adopt SDN because of the numerous potential benefits. The deployment of SDN into large-scale distributed networks may be implemented incrementally. In other words, a network administrator for a large-scale network may partition the entire network into multiple smaller sub-networks. Some of the sub-networks may be SDN compatible, while other sub-networks may not be SDN compatible. Unfortunately, network services, such as application layer traffic optimization (ALTO), may encounter integration problems when implementing SDN within a large-scale network. More specifically, integrating SDN with ALTO may produce problems that include, but are limited to, privacy preservation, granularity of information collection and exchange, and redundant processing. Therefore, properly integrating SDN with different network services is important in maintaining and improving network performance.
One method to integrate ALTO and SDN is to have an ALTO node directly collect network information from network nodes within a network. As discussed above, SDN controllers may perform control plane functions that include collecting information for network topology and providing routing information. As a result, the network may inadvertently use both the SDN controllers and an ALTO node to collect redundant network information. Moreover, the network may comprise a substantial number of network nodes. To avoid having network nodes maintain a long history of network information, the ALTO node may frequently collect network information from the network nodes. The frequent collection of network information may generate a massive amount of network information that may overload the ALTO node. Therefore, configuring the ALTO node to directly collect network information from network nodes may cause processing bottlenecks and network inefficiencies.
From a security standpoint, privacy concerns may also arise when the ALTO node directly collects network information from network nodes. When a network is partitioned into sub-networks, one or more sub-networks may be owned by third-party content providers or virtual network providers. In such a case, the third-party content providers or virtual network providers may set privacy policies that prevent internal network information regarding the sub-networks from being exported to external entities such as an ALTO node. As such, the ALTO node may be unable to extract network information directly from the network nodes unless the ALTO node violates the privacy policies. For the ALTO node to receive network information, sub-networks may need to aggregate and filter out private network information before sending the network information to the ALTO node. Thus, the ALTO node may need to communicate with SDN controllers that manage the sub-networks to receive aggregated and filtered network information. Unfortunately, the current SDN and ALTO environment does not provide a mechanism to facilitate the transfer of aggregated and filtered network information between the SDN controllers and the ALTO node. Hence, a solution is needed to efficiently integrate SDN and ALTO within a network.